package com.googlecode.jvmpart;

import java.util.Set;

import com.googlecode.jvmpart.proc.JvmProcessException;

/**
 * Split a set of JVM process to execute
 * @author chunzhan.he
 *
 */
public interface ProcessExecutionSplitter {
	/**
	 * Split a set of JVM process to execute
	 * @param partitioner Creating input parameters for a partitioned JVM process
	 * @param capacity the size of the parallel JVM processes
	 * @return a collection of thread context start processes
	 */
	public Set<ProcessExecution> split(Partitioner partitioner, int capacity) throws JvmProcessException;
}
